Non-volatile memory (NVM) is a very useful memory type that may be employed in many modern applications due to its ability to retain information without power. This is particularly advantageous in mobile devices which rely on batteries for their sole source of power, as any power drain during off-times would diminish the usability of the devices. Furthermore, NVM has begun being used more and more in other, less obvious applications, such as network storage.
There are some desired access specifications for using NVM in today's demanding applications: 1) The NVM should be able to reach speeds similar to those which may be achieved using double data rate type three synchronous dynamic random-access memory (DDR3 SDRAM). 2) The NVM should be able to achieve one million input/output (I/O) operations per second (IOPS) or more, considered to be a benchmark for usability of memory in an enterprise network storage infrastructure. 3) The NVM should be able to achieve interconnect latency between 3 μs and 10 μs, also considered to be a benchmark for usability of memory in an enterprise network storage infrastructure. 4) The NVM should be able to achieve performance similar to peripheral component interconnect express (PCIe) serializer/deserializer (SerDes) lanes.
However, current methods of utilizing NVM, and particularly flash memory, are not able to achieve all of these desired access specifications. Some of the issues with implementation of NVM in the context of enterprise network storage includes discovering a way to provide seamless, high-performance transport of data in the network infrastructure, how to build a storage appliance capable of providing NVM-based storage, how to cluster together host-based solid state drives (SSDs) which utilize NVM, how to cluster together the host-based SSDs with central storage appliances in the network infrastructure, and how to achieve server-based and network-based virtualization of the NVM storage on the network.
Current implementations of NVM do not have the ability to interact with other elements of a network in a manner which allows the full performance of the NVM to be used in a network infrastructure.